home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1998-01-07 | 3.0 KB | 136 lines |
- F$="Work:Project/KnockOFF/Cars/RacerFirstFrame.iff"
- Load Iff F$,0
- Extension_8_0456 F$,9
- WX=128 : WY=128 : WXH=WX/2 : WYH=WY/2
- Screen Open 1,WX,WY,16,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Get Palette 0
- R=32
- Degree
- Gosub MASKSTYRES
- Gosub BODIES
- End
- BODIES:
- OX=128 : OY=0
- BASF$="C4D:SubFrames/Racer/04Body."
- FRM=0
- For W=0 To 31
- Gosub ROT
- Gosub SAVPIC
- Inc FRM
- Next
- For BOD=1 To 7
- BASS$="C4D:SubFrames/Racer/04Body."
- BASF$="C4D:SubFrames/Racer/"+ Extension_8_0EB8(BOD+4,2)+"Body."
- If BOD=1
- SC0=$8C : SC1=$4A : SC2=0
- EC0=$EF : EC1=$94 : EC2=8
- End If
- If BOD=2
- SC0=123 : SC1=0 : SC2=140
- EC0=214 : EC1=8 : EC2=239
- End If
- If BOD=3
- SC0=0 : SC1=99 : SC2=140
- EC0=8 : EC1=181 : EC2=239
- End If
- If BOD=4
- SC0=49 : SC1=140 : SC2=0
- EC0=99 : EC1=239 : EC2=8
- End If
- If BOD=5
- SC0=181 : SC1=181 : SC2=0
- EC0=247 : EC1=247 : EC2=41
- End If
- If BOD=6
- SC0=0 : SC1=140 : SC2=123
- EC0=8 : EC1=239 : EC2=222
- End If
- If BOD=7
- SC0=132 : SC1=115 : SC2=0
- EC0=239 : EC1=214 : EC2=8
- End If
- For FRM=0 To 31
- Extension_8_048E BASS$+ Extension_8_0EB8(FRM,4) To BASF$+ Extension_8_0EB8(FRM,4)
- Gosub CHGPAL
- Next
- Next
- Return
- MASKSTYRES:
- OX=0 : OY=0
- BASF$="C4D:SubFrames/Racer/00Mask."
- FRM=0
- For W=0 To 31
- ' Gosub ROT
- ' Gosub SAVPIC
- Inc FRM
- Next
- OX=32 : OY=0
- BASF$="C4D:SubFrames/Racer/01Tyres1."
- FRM=0
- SC0=87 : SC1=87 : SC2=87
- EC0=153 : EC1=153 : EC2=153
- For W=0 To 31
- Gosub ROT
- Gosub SAVPIC
- Gosub CHGPAL
- Inc FRM
- Next
- OX=64 : OY=0
- BASF$="C4D:SubFrames/Racer/02Tyres2."
- FRM=0
- For W=0 To 31
- Gosub ROT
- Gosub SAVPIC
- Gosub CHGPAL
- Inc FRM
- Next
- OX=96 : OY=0
- BASF$="C4D:SubFrames/Racer/03Tyres3."
- FRM=0
- For W=0 To 31
- Gosub ROT
- Gosub SAVPIC
- Gosub CHGPAL
- Inc FRM
- Next
- Return
- End
- ROT:
- WW#=W*360.0/32.0
- SI#=Sin(WW#)*R
- CO#=Cos(WW#)*R
- For Y=0 To 127
- For X=0 To 127
- ' XX=(Qcos(W,R*(X-WXH))+Qsin(W,R*(Y-WYH)))/WX+16
- ' YY=(Qsin(W,R*(X-WXH))-Qcos(W,R*(Y-WYH)))/WY+16
- XX=(CO#*(X-WXH)+SI#*(Y-WYH))/WX+16
- YY=(SI#*(X-WXH)-CO#*(Y-WYH))/WY+16
- Screen 0 : P= Extension_8_039E( Extension_8_1632(XX,0 To 31)+OX, Extension_8_1632(YY,0 To 31)+OY)
- Screen 1 : Extension_8_0388 X,Y,P
- Next
- Next
- Return
- SAVPIC:
- XXX=Free
- Screen 1
- Save Iff BASF$+ Extension_8_0EB8(FRM,4)
- Extension_8_0456 BASF$+ Extension_8_0EB8(FRM,4),10
- SRC=Hunt(Start(9) To Start(9)+Length(9),"CMAP")
- TAR=Hunt(Start(10) To Start(10)+Length(10),"CMAP")
- Copy SRC+8,SRC+8+16*3 To TAR+8
- Extension_8_0472 BASF$+ Extension_8_0EB8(FRM,4),10
- Return
- CHGPAL:
- Extension_8_0456 BASF$+ Extension_8_0EB8(FRM,4),10
- TAR=Hunt(Start(10) To Start(10)+Length(10),"CMAP")
- For CO=0 To 5
- CC0=(SC0*CO+EC0*(5-CO))/5
- CC1=(SC1*CO+EC1*(5-CO))/5
- CC2=(SC2*CO+EC2*(5-CO))/5
- Poke TAR+8+(CO+2)*3,CC0
- Poke TAR+9+(CO+2)*3,CC1
- Poke TAR+10+(CO+2)*3,CC2
- Next
- Extension_8_0472 BASF$+ Extension_8_0EB8(FRM,4),10
- Return